class Solution {
public:
    int numberOfArithmeticSlices(vector<int>& nums) {
        int n=nums.size();
        if(n<3) return 0;
        vector<int>dp(n,0);
        int ret=0;
        
        for(int i=2;i<n;i++)
        {
            if(nums[i]-nums[i-1]==nums[i-1]-nums[i-2])
            {
                dp[i]=1;//自己本身就是一个等差数列
                if(dp[i-1]!=0) dp[i]=dp[i-1]+1;//如果i-1有等差数列 加上本身就是一个等差数列
            }
            else
            {
                dp[i]=0;
            }
            cout<<i<<":"<<dp[i]<<endl;
            ret+=dp[i];
        }
        return ret;
    }
};